home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1997 August / Walnut Creek CDROM.7z / VOL_400 / 00_INDEX.TXT < prev    next >
Encoding:
Text File  |  1997-06-27  |  74.2 KB  |  1,011 lines

  1. 400_01/                       Socket++
  2. 400_02/                       Socket++, by Gnanasekaran Swaminathan
  3.                                | (Centreville, VA), is an iostream-like class
  4.                                | for Unix and inet sockets, pipes, and
  5.                                | socketpairs. Socket++ classes can be used more
  6.                                | effectively than directly calling the
  7.                                | underlying low-level system functions.  Since
  8.                                | Socket++ has the same interface as the LibG++
  9.                                | iostream (i.e. like cout and cin), it
  10.                                | automatically performs type-safe input and
  11.                                | output.  Even though Socket++ is very easy to
  12.                                | use, it still supports a full complement of
  13.                                | socket options including:  error reporting,
  14.                                | debug mode, keepalives, routing, broadcast
  15.                                | datagrams, out-of-band data, and buffer
  16.                                | resizing.  Socket++ includes a mechanism for
  17.                                | handling timeouts gracefully as well. Socket++
  18.                                | runs on many Unix platforms including Sun
  19.                                | Sparc, IBM RS/6000, DECstation, and SGI Indigo
  20.                                | boxes.  Socket++ version 1.4, released on
  21.                                | Jun-93
  22. 401_01/                       SGPC or "Simple Genetic Programming in C", by
  23.                                | Walter Alden Tackett and Aviram Carmi,
  24.                                | supports the "Adaptive Automatic Program
  25.                                | Induction" method defined by Koza and Rice
  26.                                | (Stanford University).  The Koza and Rice
  27.                                | method generates LISP programs designed to
  28.                                | solve problems specified by the user.  Tackett
  29.                                | and Carmi have produced SGPC by porting the
  30.                                | underlying algorithm for program creation from
  31.                                | LISP to C. Thus, SGPC is a C program that
  32.                                | generates LISP genetic programs as its output.
  33.                                | Since SGPC is now available in C, it offers
  34.                                | greater portability and a 25 to 50 times speed
  35.                                | improvement, according to Tackett and Carmi.
  36.                                | One notable improvement over the original is
  37.                                | the ability to handle multiple populations.
  38.                                | SGPC has been successfully built on many Unix
  39.                                | workstations including Sun Sparcs,
  40.                                | DECstations, HP-UX, and SGI Indigo.  SGPC
  41.                                | version 1.0 is now available as volume #401 in
  42.                                | the CUG Library.
  43. 401_02/                       SGPC: Simple Genetic Programming in C 2/2
  44. 402_01/                       CForms, by Lars Berntzon (Stockholm, Sweden), is
  45.                                | a tool for building interactive forms-driven
  46.                                | applications.  CForms applications can run on
  47.                                | nany type of library supported by the "curses"
  48.                                | library.  CForms uses a language-based design
  49.                                | to define forms.  An application may contain C
  50.                                | source modules, field pictures, field
  51.                                | definitions, literals, and events. CForms
  52.                                | applications must be compiled with the CFC
  53.                                | compiler and linked with the CFL linker.
  54.                                | CForms runs on most Unix SYSV compatible
  55.                                | platforms including SunOS, Dell-SVR4, and Diab
  56.                                | SYSV.3.  It requires a curses library and yacc
  57.                                | or GNU Bison.  CForms version 2.1 is now
  58.                                | available as volume #402 in the CUG Library.
  59. 403_01/                       Patrick KO Shu Pui (Tai Po, Hong Kong)
  60.                                | contributes the Small Matrix Toolbox for C
  61.                                | Programmers.  The toolbox is a set of C
  62.                                | functions for matrix creation, arithmetic,
  63.                                | inversion, and solving linear equations. This
  64.                                | product has been released as shareware.
  65.                                | Although you may freely use it for academic
  66.                                | purposes, commercial users must register with
  67.                                | the author for $25.  The Small Matrix Toolbox
  68.                                | for C version 0.41 (released 09/23/93)
  69. 404_01/                       Alain Coëtmeur of the Informatique-CDC (Arcueil,
  70.                                | France) presents two new packages that bring
  71.                                | traditional Unix tools into the 90's:  Bison++
  72.                                | and Flex++.  Coetmeur's Bison++ is derived
  73.                                | directly from GNU Bison, the popular
  74.                                | replacement for the Unix utility called YACC
  75.                                | ("Yet Another Compiler Compiler").  Since its
  76.                                | introduction two decades ago, the YACC
  77.                                | software interface remains the most popular
  78.                                | for developing compilers, assemblers, and
  79.                                | other text processing applications.  Any
  80.                                | language that can be handled by a LALR(1)
  81.                                | parser is a good candidate for YACC use.  1/3
  82. 404_02/                       Bison++: YACC for C++ 2/3
  83. 404_03/                       Bison++: YACC for C++ 3/3
  84. 405_01/                       Coëtmeur's other contribution to the CUG Library
  85.                                | is the Flex++ package. Like Bison++, Flex++
  86.                                | retains downward compatability with existing C
  87.                                | programs while offering the benefits of C++
  88.                                | classes.  Coetmeur's Flex++ is derived
  89.                                | directly from GNU Flex ("Fast LEX"), the
  90.                                | popular replacement for the Unix utility
  91.                                | called LEX.  Since its introduction two
  92.                                | decades ago, the LEX software interface
  93.                                | remains very popular for developing front-end
  94.                                | lexical analyzers for YACC and standalone text
  95.                                | processing applications.  A LEX solution is
  96.                                | ideal for matching both simple and complex
  97.                                | patterns of characters.  1/3
  98. 405_02/                       Flex++: Lexical Analyser for C++ 2/3
  99. 405_03/                       Flex++: Lexical Analyser for C++ 3/3
  100. 406_01/                       Mike Rejsa (Brooklyn Park, MN) submits his
  101.                                | translator for converting ANSI-style C code
  102.                                | and declarations to older Kernighan and
  103.                                | Ritchie (K&R) syntax.  Most C programmers have
  104.                                | switched over to ANSI style coding techniques
  105.                                | sometime in the last two or three years.  The
  106.                                | ANSI syntax allows for for more comfortably
  107.                                | readable code and brings you closer to what
  108.                                | you really wanted to write.  For example,
  109.                                | declaring parameters in the prototype and use
  110.                                | of const, signed, and volatile storage class
  111.                                | modifiers.  However, in the course of
  112.                                | maintaining older Unix systems, you may sooner
  113.                                | or later have to handle the inelegant business
  114.                                | of removing ANSI C specific constructs
  115.                                | accurately from a newer source. ATOC version
  116.                                | 1.08 (released 11/15/93) has been designated
  117.                                | CUG 406A.
  118. 407_01/                       PSUtils, by Angus Duggan (Edinburgh, Scotland),
  119.                                | is an assortment of utilities for manipulating
  120.                                | PostScript documents.  Page selection and
  121.                                | rearrangement are supported, including
  122.                                | arrangement into signatures for booklet
  123.                                | printing, and page merging for n-up printing.
  124.                                | The complete collection of PSUtils Release
  125.                                | 1-PL11 (June 1993) is now available as CUG
  126.                                | library volume #407.
  127. 408_01/                       Daniel Fandrich (Clearbrook, B.C., Canada) offers
  128.                                | his SNews threaded Usenet newsreader add-on
  129.                                | for PCs running a shareware package that
  130.                                | provides dial-up e-mail access to public
  131.                                | networks such as the UUCP network and/or the
  132.                                | Internet.  SNews can built using Borland Turbo
  133.                                | C for either MS-DOS or OS/2.  The CUG Library
  134.                                | distribution includes MS-DOS executable and
  135.                                | full source on a single diskette.  SNews
  136.                                | version 1.91 (released 08/25/93) is
  137.                                | immediately available as CUG volume #408.  1/2
  138. 408_02/                       SNEWS: threaded Usenet newsreader for PCs  2/2
  139. 409_01/                       Kendall Bennett of SciTech Software (Melbourne,
  140.                                | Australia) submits his SuperVGA VESA VBE test
  141.                                | kit and Universal VESA VBE.  The SuperVGA VBE
  142.                                | VESA test kit thoroughly tests and
  143.                                | demonstrates the VBE BIOS calls.  The
  144.                                | Universal VESA VBE is a drop-in replacement
  145.                                | for an existing VBE driver you might or might
  146.                                | not already have.  As you may recall, the
  147.                                | Video Electronics Standards Association (VESA)
  148.                                | has established criteria allowing
  149.                                | interoperability of SuperVGA hardware and
  150.                                | software.  The VESA BIOS Extensions (VBE)
  151.                                | provide the ability to address video modes
  152.                                | beyond regular VGA (640x480x16) in a
  153.                                | hardware-independent fashion.  Although the
  154.                                | test kit includes full source code, the
  155.                                | shareware VBE replacement driver offers source
  156.                                | code for an additional licensing fee from
  157.                                | SciTech Software.  Both are immediately
  158.                                | available on a single diskette as CUG volume
  159.                                | #409.
  160. 410_01/                       Gary A. Allen, Jr., (Prentice Center, Queensland,
  161.                                | Australia) submits his PART utility for
  162.                                | examining the partition table and hard disk
  163.                                | parameters under MS-DOS.  PART works with all
  164.                                | MS-DOS compatible hard disks and provides
  165.                                | additional low-level information on Integrated
  166.                                | Drive Electronics (IDE) disk controllers.
  167.                                | Allen notes that although there are powerful
  168.                                | partition editors available, all of them run
  169.                                | the risk of accidently changing these critical
  170.                                | disk parameters.  Since PART is a read-only
  171.                                | display, the partition tables remain secure at
  172.                                | all times. PART includes full source in C and
  173.                                | claims compatability with the Borland C/C++
  174.                                | compiler.  PART version 1.5, as released on
  175.                                | 10/27/93, now appears on CUG #410.
  176. 411_01/                       Bram Moolenaar (Venlo, Netherlands) contributes
  177.                                | his Vi Improved editor (Vim) that supports
  178.                                | MS-DOS, Amiga, and most forms of Unix.  Vim
  179.                                | claims near 100% of the functionality of the
  180.                                | classic "vi" Unix editor.  Vim also includes
  181.                                | many embellishments on the original ideas and
  182.                                | thus adds unique functionality of its own. The
  183.                                | CUG Library edition includes full source in C
  184.                                | as well as pre-built executables for MS-DOS.
  185.                                | Vim version 2.0, as released 12/14/93, is now
  186.                                | available as CUG #411.  1/2
  187. 411_02/                       Vi Improved (VIM) Editor 2/2
  188. 412_01/                       Peter M. Bouthoorn (Groningen University,
  189.                                | Netherlands) submits his C++ search class
  190.                                | library with artificial intelligence
  191.                                | capabilities. AISEARCH is a tool for
  192.                                | developing problem solving software.
  193.                                | Basically, the library offers the programmer a
  194.                                | set of search algorithms that solve all kind
  195.                                | of different problems.  When developing
  196.                                | problem solving software, the programmer
  197.                                | should concentrate on the representation of
  198.                                | the problem to be solved and should not the
  199.                                | implementation of the search algorithm used.
  200.                                | This AISEARCH implementation of a set of
  201.                                | search classes may be incorporated in other
  202.                                | software through C++ derivation and
  203.                                | inheritance.  AISEARCH can be built in MS-DOS
  204.                                | with Borland C++ or MS C++ and on Unix using
  205.                                | GNU C++.  AISEARCH, as released on 02/10/94,
  206.                                | is immediately available as CUG #412.
  207. 413_01/                       CUG proudly announces two freeware programming
  208.                                | kits for the Sound Blaster digital audio cards
  209.                                | on a single diskette volume.  The original
  210.                                | Sound Blaster card by Creative Labs, Inc. has
  211.                                | become the industry standard for PC digital
  212.                                | audio.  Today, a plethora of Sound Blaster
  213.                                | (SB) compatible cards are available from many
  214.                                | vendors.  Although SB cards have proliferated
  215.                                | widely, the knowledge required to program and
  216.                                | control their operation has not.  The I/O and
  217.                                | DMA access protocol is critical for developers
  218.                                | creating MS-DOS based applications with SB
  219.                                | audio.
  220. 414_01/                       Mark Hessling (Holland Park, Queensland,
  221.                                | Australia) offers his own full screen text
  222.                                | editor similar to IBM VM/CMS Xedit and
  223.                                | Mansfield Software's KEDIT.  The THE text
  224.                                | editor uses both command line commands and key
  225.                                | bindings to operate.  It has currently been
  226.                                | ported to SUNOS 4.1.x, Xenix-386, MS-DOS
  227.                                | (Borland C++ and MSC), Esix 4.0.3a, ATT
  228.                                | SystemV 3.2, Linux, 386BSD, and OS/2 2.1 (MSC,
  229.                                | C Set/2, Borland C++).  The CUG distribution
  230.                                | of THE includes full source in C and a
  231.                                | prebuilt executable for use with MS-DOS.  THE
  232.                                | version 1.5, as released on 01/12/93, is now
  233.                                | available as CUG #414.  1/3
  234. 414_02/                       THE: Highly Portable Text Editor  2/3
  235. 414_03/                       THE: Highly Portable Text Editor  3/3
  236. 415_01/                       Arindam Banerji (Dept. of Computer Sci.  & Eng,
  237.                                | University of Notre Dame) contributes his Run
  238.                                | Time Type Information library for C++.  Run
  239.                                | Time Type Information (RTTI) is a C++ language
  240.                                | extension proposed by the ANSI C++ committee.
  241.                                | Although the extension is intended to
  242.                                | implemented as part of native C++ compilers,
  243.                                | it may be a long time before this comes to
  244.                                | fruition.  Fortunately, Banerji's
  245.                                | implementation of RTTI as a C++ library means
  246.                                | that you can start taking advantage of it
  247.                                | right away.  His system is loosely based on
  248.                                | the RTTI system demonstrated by Stousroup in
  249.                                | "The C++ Programming Language".  RTTI for C++
  250.                                | works *ONLY* with Unix based C++
  251.                                | implementations due to file naming conventions
  252.                                | that are *INCOMPATIBLE* with MS-DOS.  RTTI for
  253.                                | C++, as released on 11/03/93, is now available
  254.                                | is CUG #414.  1/2
  255. 415_02/                       Run Time Type Information Library for C++  2/2
  256. 416_01/                       Nigel Salt (Crayford, Kent, U.K.) contributes a
  257.                                | variety of standalone tools and libraries with
  258.                                | source code in C for MS-DOS.  This is the
  259.                                | first time source code for many of these tools
  260.                                | has been released.  Some of the programs are
  261.                                | written specifically for Borland Turbo C while
  262.                                | others are intended for use with Microsoft C
  263.                                | (MSC).  All programs are shareware with
  264.                                | reasonable registration fees ($15 or less) or
  265.                                | donationware (whatever you feel is
  266.                                | appropriate).
  267. 417_01/                       Oleg Orel (Institute for High Energy Physics,
  268.                                | Protvino, Russia) presents his LIBFTP TCP/IP
  269.                                | library.  LIBFTP provides an easy callable
  270.                                | interface for Unix programs to talk with FTP
  271.                                | servers as defined in RFC 959. The FTP (or
  272.                                | File Transfer Protocol) is the protocol of
  273.                                | choice for transferring files over the
  274.                                | Internet.  As such, you could use this library
  275.                                | to write your own FTP client with a graphical
  276.                                | user-interface or perhaps as the basis of a
  277.                                | file-mirroring utility.  LIBFTP works with
  278.                                | most popular Unix systems but cannot work with
  279.                                | MS-DOS.  LIBFTP (as released on 10/28/93) is
  280.                                | immediately available as CUG #417.  1/2
  281. 417_02/                       LIBFTP: easy interface to servers  2/2
  282. 418_01/                       Roger Sayle (Dept.  Computer Science, University
  283.                                | of Edinburgh, U.K.) contributes his molecular
  284.                                | graphics visualization system for Unix
  285.                                | XWindows and MS Windows.  Specifically, RasMol
  286.                                | is intended for the visualisation of proteins
  287.                                | and nucleic acids.  It reads Brookhaven
  288.                                | Protein Databank (PDB) files and interactively
  289.                                | renders them in a variety of formats on either
  290.                                | an 8-bit (see Fig. 2) or 24- to 32-bit colour
  291.                                | display.  Documentation includes include
  292.                                | on-line help, hypertext documentation and the
  293.                                | previous (dated) version of the PostScript
  294.                                | user reference manual.  RasMol version 2.3 (as
  295.                                | released on 03/04/94) is immediately available
  296.                                | on a 4 disk set as CUG #418.  1/5
  297. 418_02/                       RasMol:  Molecular Graphics Visualization  2/5
  298. 418_03/                       RasMol:  Molecular Graphics Visualization  3/5
  299. 418_04/                       RasMol:  Molecular Graphics Visualization  4/5
  300. 418_05/                       RasMol:  Molecular Graphics Visualization  5/5
  301. 419_01/                       Dale Anderson (San Diego, CA) submits his a first
  302.                                | release of the collections specified by Object
  303.                                | Database Management Group - 93 (ODMG-93). This
  304.                                | work is based on the publication "The Object
  305.                                | Database Standard:  ODMG-93" (ISBN
  306.                                | 1-55860-302-6).  Although Anderson has no
  307.                                | personal affiliation with the ODMG, this work
  308.                                | nevertheless represents an important
  309.                                | contribution to the dissemination of this
  310.                                | conceptual model. His release contains
  311.                                | collection classes (see chapter 5), man pages
  312.                                | for each method, and a test suite for almost
  313.                                | all methods.  The code itself has been tested
  314.                                | on an HP/UX 9.0 C++ compiler and GNU C++ also
  315.                                | on this platform.  Anderson's ODMG-93
  316.                                | implementation for Unix (as released on
  317.                                | 03/02/94) is immediately available as CUG
  318.                                | volume #419.
  319. 420_01/                       James L. Dean (New Orleans, LA) contributes his
  320.                                | VGAMAZE tools written for MS-DOS VGA graphics
  321.                                | with the Borland C++ 3.0 compiler.  VGAMAZE
  322.                                | displays mazes with square (SQRMAZE.CPP) or
  323.                                | hexagonal rooms (HEXMAZE.CPP) in three
  324.                                | dimensions on your monitor.  It includes a
  325.                                | template for one dimensional virtual arrays.
  326.                                | The plotting class can plot any surface
  327.                                | z=f(x,y).  An example program for surfaces
  328.                                | (SPIKE.CPP) demonstrates that its good for
  329.                                | more than just mazes.  The CUG Library
  330.                                | distribution includes all C++ source code and
  331.                                | executables for SQRMAZE, HEXMAZE, and SPIKE.
  332.                                | VGAMAZE version 4 (as released on 02/27/94) is
  333.                                | immediately available as CUG Library volume
  334.                                | #420A.
  335. 420_02/                       Tatsurou Sekiguchi (Department of Information
  336.                                | Science, University of Tokyo, Japan) submits
  337.                                | his Coerce program which can convert many
  338.                                | graphic file formats popular on BBSes in
  339.                                | Japan.  Specifically, it converts from one of
  340.                                | MAG, PI, PIC, MAKI, PPM, PBM, ML1, and beta
  341.                                | formats to one of MAG, PI, PIC, PPM, and beta
  342.                                | formats.  Coerce can be compiled on any Sun
  343.                                | workstation running SunOs 4.1.3 with GNU C++
  344.                                | 2.4.5 or later.  Others have reported good
  345.                                | success compiling Coerce on MIPS and RS/6000
  346.                                | machines.  Sekiguchi also includes source for
  347.                                | a simple X Windows bitmap viewer.  Coerce (as
  348.                                | released on 02/24/94) is immediately as CUG
  349.                                | Library volume #420B.
  350. 421_01/                       Thomas Hagen (Trondheim, Norway) contributes his
  351.                                | RFVDEMO collection of high-speed VGA animation
  352.                                | demonstrations for MS-DOS.  The animations
  353.                                | require the Borland C++ 3.1 compiler.  There
  354.                                | are four main animation demonstrations
  355.                                | included:  bitmap-rotation routine, fractal
  356.                                | zoomer, plasma, and voxelspace routine.  These
  357.                                | are in addition to lower-level support
  358.                                | routines for keyboard handling, timer class,
  359.                                | and others. RFVDEMO version 0.1 (as released
  360.                                | on 01/17/94) is immediately available in a
  361.                                | three disk set as CUG volume #421.  1/3
  362. 421_02/                       RFVVGA Graphics Animation Demo 2/3
  363. 421_03/                       RFVVGA Graphics Animation Demo 3/3
  364. 422_01/                       Dave Dunfield (Nepean, Ontario, Canada) submits
  365.                                | an entire suite of tools from the MICRO-C C
  366.                                | compiler development system.  This includes
  367.                                | the MICRO-C C compiler itself for MS-DOS, more
  368.                                | than 70 useful sample programs with full C
  369.                                | source, and a demonstration version of MICRO-C
  370.                                | for embedded systems.  MICRO-C is a tiny
  371.                                | compiler which can run with less than 32k RAM
  372.                                | and yet is highly independent of CPU and OS.
  373.                                | Specifically, platform support is available
  374.                                | separately for 68HC08, 6809, 68HC11, 68HC16,
  375.                                | 8051/52, 8080/8085, 80x86 and 8096 CPUs.  The
  376.                                | CUG Library distribution includes a fully
  377.                                | functional MICRO-C compiler executable built
  378.                                | for the MS-DOS 80x86 environment.  This
  379.                                | version generates code in .ASM format so
  380.                                | Microsoft MASM, Borland TASM, or equivalent
  381.                                | are required (not included).  MICRO-C version
  382.                                | 3.02 (as released on 03/22/94) is immediately
  383.                                | available as CUG #422 in a set of four
  384.                                | diskettes.  1/4
  385. 422_02/                       Micro-C C Compiler 2/4
  386. 422_03/                       Micro-C C Compiler 3/4
  387. 422_04/                       Micro-C C Compiler 4/4
  388. 423_01/                       The CUG Library has always accommodated C/C++
  389.                                | archives both big and small.  This month, I've
  390.                                | compiled an anthology of five outstanding but
  391.                                | small source archives.  William Pierpoint
  392.                                | (Camarillo, CA) submits his comprehensive
  393.                                | library for stream-style record I/O.  Karl
  394.                                | Hahn (Sarasota, FL) contributes a MIME binary
  395.                                | encode/decode routines for use with email
  396.                                | tools.  Philip Erdelsky (San Diego, CA)
  397.                                | releases both source for general ledger
  398.                                | posting with 32-bit math library and a
  399.                                | Re-entrant DOS-Compatible File System for
  400.                                | embedded systems.  Last, Keith Vertanen (Pine
  401.                                | Springs, MN) sends his brief but succinct
  402.                                | implementation of the BSPLINE rendering
  403.                                | algorithm.  Again, all five archives are
  404.                                | immediately available on a single diskette as
  405.                                | CUG volume #423.
  406. 424_01/                       Charles Sandmann (Houston, TX) submits the ED
  407.                                | editor with a user interface based on the DEC
  408.                                | VMS EDT editor.  ED is a true multiplatform
  409.                                | editor and can be compiled and run on
  410.                                | virtually any platform.  It includes
  411.                                | target-specific code for keyboard, screen, and
  412.                                | TCP/IP handling. This allows it to run on Unix
  413.                                | (IBM RS/6000, Sun Sparc, HP, NeXT or Alpha AXP
  414.                                | machines), MS-DOS, Windows NT, and OS/2
  415.                                | environments with ease.  ED can edit any kind
  416.                                | of file in text, binary, or hexadecimal modes.
  417.                                | 1/2
  418. 424_02/                       Ed Editor: Highly portable windowing editor 2/2
  419. 425_01/                       Timor V. Shaporev (Moscow, Russia) contributes an
  420.                                | extremely versatile version of the classic
  421.                                | Unix TAR archiver and an innovative method of
  422.                                | delivering LZW compressed data over pipes.
  423.                                | Portable TAR works with both MS-DOS and Unix
  424.                                | compatible machines.  Since more than half the
  425.                                | source code available from the Internet
  426.                                | appears in TAR format, you'll quickly find
  427.                                | this a valuable utility.  Portable TAR reads
  428.                                | and writes archives in ordinary files, raw
  429.                                | floppies, and QIC-02 streamer tapes.  It
  430.                                | understands regular TAR formats, PKZIP, gzip,
  431.                                | and Unix "compress".
  432. 426_01/                       Patrick Ko Shu Pui (Hong Kong) submits his
  433.                                | LPC-Parcor-Cepstrum code generator for C. The
  434.                                | LPC-Parcor-Cepstrum code generator (hereafter,
  435.                                | LPC) can be built on most Unix platforms as
  436.                                | well as Microsoft C/C++ 7.0 and Borland Turbo
  437.                                | C v2.0.  The primary use of this archive is
  438.                                | the manipulation and normalization of audio
  439.                                | data files.  Specifically, it supports 8-bit
  440.                                | ulaw (SUN Sparc), 8-bit and 16-bit PCM data.
  441.                                | It then generates LPC autocorrelation or
  442.                                | covariance coefficients, Parcor (partial
  443.                                | correlation) coeefficients, or LPC cepstrum
  444.                                | coefficients.
  445. 427_01/                       Christof Ruch (Clausthal, Germany) submits the
  446.                                | Multi Joystick Interface package.  This
  447.                                | package makes it possible to connect up to six
  448.                                | digital joysticks (Atari type) to the parallel
  449.                                | port of your PC.  For test (or two player
  450.                                | gaming) purposes, two joysticks can be
  451.                                | emulated by the keyboard, so you can try out
  452.                                | the games before you actually decide to build
  453.                                | an interface.  Specifically, this archive
  454.                                | includes instructions for building the
  455.                                | interface, test programs for checking your
  456.                                | interface, and Pascal and C interface
  457.                                | routines.  Several arcade type games have are
  458.                                | already publicly available for this system,
  459.                                | though none are included with the CUG archive.
  460. 428_01/                       Jonathan Wood (Irvine, CA) contributes the PICTOR
  461.                                | text-mode video library.  PICTOR is a C
  462.                                | callable library for MS-DOS development that
  463.                                | provides multi-pane stacked windows, pulldown
  464.                                | menus, and hypertext help. PICTOR is more than
  465.                                | just video:  it also includes interrupt-driven
  466.                                | serial communications, CTRL-C and critical
  467.                                | error handler, on-screen clock, text
  468.                                | compression, and even a sample text editor.
  469.                                | 1/2
  470. 428_02/                       Pictor Text-Mode Video Library for C/MS-DOS 2/2
  471. 429_01/                       This volume combines three relatively small but
  472.                                | powerful archives on a single diskette. Walter
  473.                                | Karas (Cary, NC) submits C++ source code for a
  474.                                | simple MS-DOS chess game.  Astute CUJ readers
  475.                                | will remember that Walter Karas also
  476.                                | contributed the SORTLIST AVL algorithms last
  477.                                | year on CUG #395.  Russell Taylor (University
  478.                                | of North Carlina at Chapel Hill) contributes
  479.                                | archives for redirecting serial I/O and
  480.                                | accelerating the PC hardware clock.
  481. 430_01/                       Christopher G. Phillips (University of Texas at
  482.                                | Austin) submits his "m68kdis" disassembler for
  483.                                | the Motorola 68000 family of CPU chips.
  484.                                | Disassemblers are system software that accepts
  485.                                | a binary executable as input and produces
  486.                                | assembly language source as output.
  487.                                | Specifically, m68kdis supports the full
  488.                                | instruction sets of the 68000, 68008, 68010,
  489.                                | 68020, and 68030 CPU chips.  Additionally,
  490.                                | m68kdis decodes instructions for the 68851
  491.                                | Paged Memory Unit and the 68881/68882
  492.                                | Floating-Point Coprocessors.  The Motorola
  493.                                | 68000 family chips power millions of computers
  494.                                | including the Macintosh, Atari, Amiga, and
  495.                                | many embedded CPU industrial applications. The
  496.                                | CUG Library edition of m68kdis includes full
  497.                                | source in C (no executables are provided). The
  498.                                | m68kdis disassembler is immediately available
  499.                                | as CUG volume #441.
  500. 431_01/                       Kyle A. York (McGraw Hill School Systems) submits
  501.                                | his Remote Installable File System for DOS.
  502.                                | The Remote Installable File System provides a
  503.                                | LAN linking two computers through the serial
  504.                                | port so they may share resources.  RIFS
  505.                                | installs itself as a TSR using the MSCDEX
  506.                                | convention for installable file systems.
  507.                                | Shareable resources are currently limited to
  508.                                | available disk drives including hard disks,
  509.                                | CD-ROM, and network drives.  RIFS also
  510.                                | supports the redirection of a client parallel
  511.                                | port to a file or device on the server.  RIFS
  512.                                | supplies 32-bit Cyclic Redundancy Check (CRC)
  513.                                | to guarantee error-free file transfers.  The
  514.                                | CUG Library distribution includes full source
  515.                                | in C and ASM as well as MS-DOS executables.
  516.                                | RIFS for DOS (released 10/08/94) is
  517.                                | immediately available as CUG volume #431.
  518. 432_01/                       Andrew Scott (Mosman Park, Australia) submits his
  519.                                | PTMID music conversion utility.  Specifically,
  520.                                | PTMID takes General MIDI files (format 0 or 1)
  521.                                | and converts them to Protracker MOD files or
  522.                                | Multitracker MTM files.  As you may know, MIDI
  523.                                | files are industry standard, but need some
  524.                                | sort of sequencer to be played.  This is
  525.                                | because there can be near-infinite
  526.                                | simultaneous notes present (though about 20 is
  527.                                | a standard maximum).  Protracker files are 4
  528.                                | channel (though 6, 8, or more can be
  529.                                | supported) files, but have a bank of digitized
  530.                                | instruments included.  This allows reasonable
  531.                                | quality sound to be produced given limited
  532.                                | hardware.  Multitracker files are similar to
  533.                                | MOD files and support up to 32 simultaneous
  534.                                | notes.  PTMID version 0.3 (released on
  535.                                | 07/18/94) is immediately available on CUG
  536.                                | Library volume #432A.
  537. 433_01/                       Stephen L. Balkum and Daniel A. Sill (Zephyr
  538.                                | Software, Austin, TX) submit their MS-DOS
  539.                                | real-mode SVGA graphics library for MSC,
  540.                                | Borland C, and Symantec C/C++.  SVGACC
  541.                                | provides an easy interface to the high
  542.                                | resolution/high color video modes of the newer
  543.                                | SVGA video cards.  There has been no standard
  544.                                | for VGA video cards above the 320x200x256
  545.                                | resolution.  Instead, each video card
  546.                                | manufacturer has implemented a slightly
  547.                                | different method to access these high
  548.                                | resolution/high color video modes.  SVGACC
  549.                                | automatically identifies the video card and
  550.                                | its installed memory.  Users may write
  551.                                | graphics programs that will work on most any
  552.                                | SVGA card without writing specific versions
  553.                                | for each individual SVGA card.  Over 100
  554.                                | functions support sprite animation, drawing
  555.                                | primitives, fills, 3-D views and much more.
  556.                                | SVGACC is written in 100% assembly language
  557.                                | and uses 80386 32-bit registers for the best
  558.                                | possible speed.  SVGACC version 2.1 (as
  559.                                | released on 05/09/94) is immediately available
  560.                                | as CUG volume #433.
  561. 434_01/                       Nicholas Centanni (Los Gatos, CA) submits his 3-D
  562.                                | graphics class library for Borland C++ 3.1
  563.                                | (and later).  XYZ++ is a comprehensive package
  564.                                | of optimized C++ classes for both floating
  565.                                | point and fixed point 3D graphics.  1/2
  566. 434_02/                       XYZ++: 3-D C++ Graphics Lib  2/2
  567. 435_01/                       Jason Hughes (Abilene, TX) submits his VESA SVGA
  568.                                | graphics demonstration that includes many
  569.                                | other programming elements essential to
  570.                                | writing MS-DOS games.  The graphics
  571.                                | demonstrations take you through many
  572.                                | fast-moving animations that show off the VESA
  573.                                | 640x480x256 color display mode.  I was
  574.                                | particularly impressed with its speed even on
  575.                                | my slow 80386DX-20Mhz CPU.  Additional
  576.                                | graphics routines show off the virtual paging
  577.                                | capabilities of SVGAs with more than 1MB RAM
  578.                                | onboard.  The CUG Library distribution of
  579.                                | VesaTest includes full source code in Borland
  580.                                | C++ v3.1 along with MS-DOS executables.
  581.                                | VesaTest version 2 (as released on 07/20/94)
  582.                                | is immediately available as CUG #438.
  583. 436_01/                       Richard Zigler (McBain, MI) submits his INput
  584.                                | CONtrol (INCON) library for developing
  585.                                | sophisticated data input screens in MS-DOS
  586.                                | applications. INCON gives you control over the
  587.                                | placement and appearance of input fields, and
  588.                                | the type and amount of data that each will
  589.                                | accept.  Input fields may be alphanumeric,
  590.                                | uppercase, integer, or floating-point.  The
  591.                                | INCON library support Borland Turbo C 2.01 (or
  592.                                | later) and will build Compact, Small, Medium,
  593.                                | or Large memory model versions.  INCON version
  594.                                | 3.1 (as released on 10/08/94) is immediately
  595.                                | available as CUG #436
  596. 437_01/                       C/C++ Exploration Tools for Windows, by Juergen
  597.                                | Mueller (Kornwestheim, Germany), includes both
  598.                                | his C Function Tree Generator (CFT) and the C
  599.                                | Structure Tree Generator (CST).  CFT and CST
  600.                                | analyse the C/C++ source code of applications
  601.                                | of any size with multiple files.  CFT and CST
  602.                                | are useful to explore new, unknown software
  603.                                | and to support re-use, maintenance and
  604.                                | re-engineering.  By preprocessing, scanning,
  605.                                | and analysing the program source code, these
  606.                                | programs generate the function call hierarchy
  607.                                | (CFT) and the data structure/class (CST)
  608.                                | relations.  Both programs can handle C and C++
  609.                                | code, CFT can additionally analyse assembler
  610.                                | code.  The C Exploration Tools for Windows
  611.                                | executables (released 09/11/94) are
  612.                                | immediately available as CUG volume #437.  1/2
  613. 437_02/                       C/C++ Exploration Tools for Windows  2/2
  614. 438_01/                       Riku Saikkonen (Finland) submits his telnet
  615.                                | client for MS-DOS which uses the serial port
  616.                                | as the I/O device.  Although designed for
  617.                                | Bulletin Board System (BBS) applications,
  618.                                | STELNET works equally well without any BBS
  619.                                | software.  STELNET requires a FOSSIL driver
  620.                                | and the Waterloo TCP library.  It supports
  621.                                | binary mode telnet (8-bit), and a '8-bit clean
  622.                                | mode', in which all 256 characters are cleanly
  623.                                | transferred in both directions.  STELNET does
  624.                                | not do any terminal emulation of its own; it
  625.                                | should never change the data transferred
  626.                                | (except where protocol requirements
  627.                                | designate).
  628. 439_01/                       David Pyles (Jackson, MS) offers his DOS Extender
  629.                                | Library for producing Protected Mode MS-DOS
  630.                                | applications.  XLIB is an assembly language
  631.                                | library which greatly simplifies
  632.                                | protected-mode programming under Microsoft
  633.                                | DOS.  With only two calls to XLIB, assembly
  634.                                | language programs can utilize the simplicity
  635.                                | and power of 32-bit processing.  C and C++
  636.                                | programs can harness the powers of 16-bit
  637.                                | protected mode using inline assembly.
  638.                                | Additionally, the XLIB archive contains a
  639.                                | second library call EASYX which allows all
  640.                                | high-level languages to gain access to
  641.                                | extended memory.
  642. 440_01/                       George Vanous (Delta, BC) submits his library of
  643.                                | essential and efficient C-callable functions.
  644.                                | Although oriented towards MS-DOS, many of the
  645.                                | algorithms are relevant on other platforms
  646.                                | such as Windows and Unix. BESTLibrary consists
  647.                                | of 282 functions coded in assembler and 68
  648.                                | functions written in C. All calls require far
  649.                                | pointers (e.g.  Large memory model).
  650. 441_01/                       George Vanous' also submits his VGA Editor for
  651.                                | editing and animating graphics images with
  652.                                | full mouse support.  The VGA Editor creates
  653.                                | graphics files that are fully portable into C
  654.                                | and Pascal programs in conjunction with
  655.                                | BESTLibrary (CUG #440).  The editor is ideal
  656.                                | for drawing small pictures and animations for
  657.                                | use with 16-color VGA modes. VGA Editor will
  658.                                | also read in Windows .ICO files for editing
  659.                                | (but does not yet support writing them).  The
  660.                                | editor can accomodate multiple-frame
  661.                                | animations in a single editing session.  Fig.
  662.                                | 1 shows the zoom style of editing on a single
  663.                                | frame.
  664. 442_01/                       Ted Jensen (Redwood City, CA) has contributed his
  665.                                | manuscript "A Tutorial on Pointers and Arrays
  666.                                | in C" to help novice C programmers learn
  667.                                | proper usage of these critical language
  668.                                | elements.  Looking back to my own
  669.                                | apprenticeship in C more than 10 years ago, I
  670.                                | still have vivid memories of my trials with
  671.                                | pointers.  Jensen's work is based on a
  672.                                | tutorial originally found in Bob Stout's
  673.                                | popular "SNIPPETS" C code collection.
  674. 443_01/                       Martin Steppler (Aachen University of Technology,
  675.                                | Germany) submits the Communication Networks
  676.                                | Class Library (CNCL), a C++ library created by
  677.                                | the Communication Networks department of
  678.                                | Aachen. CNCL is both a class library featuring
  679.                                | generic C++ classes as well as a simulation
  680.                                | library with strong points in random number
  681.                                | generation, statistics, and event-driven
  682.                                | simulation.
  683. 444_01/                       Mendel Cooper (Grantsville, MD) contributes a
  684.                                | volume of MS-DOS games: Wordy, ChessClock, and
  685.                                | Chaos Game.  Wordy is an educational word-game
  686.                                | study system that builds pattern and word
  687.                                | recognition skills used in Scrabble (tm) and
  688.                                | Boggle (tm).  The Wordy practice game checks
  689.                                | words you unscramble against a 100,000 word
  690.                                | dictionary.  Wordy also includes standalone
  691.                                | Search, Anagram, UnScramble, and word-pattern
  692.                                | find utilities. A BINGO utility looks up all
  693.                                | valid permutations of letters of a word. The
  694.                                | 1DIF utility finds all legal words constructed
  695.                                | by substituting a single letter.
  696. 445_01/                       Mendel's second volume includes an eclectic
  697.                                | mixture of ten different text and graphics
  698.                                | utility and algorithm demonstrations.
  699. 446_01/                       The Are Magnus Bruasat of the SINTEF group at the
  700.                                | University of Oslo (Norway) submits Diffpack:
  701.                                | a fully object-oriented framework in C++ for
  702.                                | solution of Partial Differential Equations
  703.                                | (PDEs). PDEs often arise in the mathematical
  704.                                | modeling of physical processes involving for
  705.                                | example fluid mechanics or waves.  Some
  706.                                | typical uses of Diffpack include standard
  707.                                | model PDEs, 3D linear wave equation,
  708.                                | incompressible Navier-Stokes, and stochastic
  709.                                | ODEs. Diffpack can interface with gnuPlot and
  710.                                | plotmtv.  You can even construct MPEG movies
  711.                                | from multiple visualization frames.
  712. 447_01/                       Michael F. Watson and Dean Lance Smith contribute
  713.                                | RELAY: an interactive overload protection
  714.                                | design tool for electrical engineers. Relay
  715.                                | plots the time-current characteristics of
  716.                                | overcurrent protection devices and coordinates
  717.                                | the overcurrent protection devices at an
  718.                                | electric distribution substation.  The source
  719.                                | code is entirely in C and includes makefiles
  720.                                | for the Microsoft C compiler..  The RELAY.EXE
  721.                                | executable requires MS-DOS and VGA display.
  722. 448_01/                       Surojit Chatterjee and Dean Lance Smith submit a
  723.                                | tool for detecting digital circuit problems
  724.                                | via signature analysis.  Signature analysis is
  725.                                | a technique used in servicing
  726.                                | microprocessor-based systems.  With this
  727.                                | technique, an instrument called a signature
  728.                                | analyzer is used to check a digital circuit by
  729.                                | detecting the bit streams at various nodes of
  730.                                | the circuit.  The bit streams are displayed as
  731.                                | hexadecimal signatures.  The actual signature
  732.                                | of a node is compared with its predetermined
  733.                                | correct signature.  The result of the
  734.                                | comparison is used to trace faults in the
  735.                                | system down to the component level.  This
  736.                                | distribution includes complete source in C and
  737.                                | MS-DOS executables. The source supports
  738.                                | Borland Turbo C but could possibly be ported
  739.                                | to other environments. Signature analysis v1.0
  740.                                | is now available on CUG CD-ROM as volume #448
  741. 449_01/                       Nullsock, by Jean-Michel Mercier (Paris, France),
  742.                                | is a Winsock simulator which allows you to run
  743.                                | Winsock applications offline.  This is most
  744.                                | useful for forcing a web browser to work on
  745.                                | offline copies of HTML files that you have
  746.                                | downloaded. You might want to do this because
  747.                                | you're "on the road" with a portable computer
  748.                                | but without a immediate Internet connection or
  749.                                | perhaps to avoid paying online charges to view
  750.                                | material you've already downloaded several
  751.                                | times. Nullsock works by loading a dummy
  752.                                | WINSOCK.DLL with its entry points replaced by
  753.                                | stubs.  You can either run Nullsock directly
  754.                                | or use Nullsock to spawn the desired
  755.                                | application. Nullsock was designed to work
  756.                                | with Windows 3.11 and has been tested with
  757.                                | Netscape and AIR Mosaic.  It will work with
  758.                                | Windows 95, but only when running 16-bit
  759.                                | Winsock applications. Nullsock includes
  760.                                | complete C source and compiles with Borland C.
  761.                                | Nullsock version 1.0 is available on CUG
  762.                                | CD-ROM as volume #449.
  763. 450_01/                       Klamer Schutte of the TNO Physics and Electronics
  764.                                | Laboratory (The Hague, Netherlands)
  765.                                | contributes the CpppIma image processing class
  766.                                | library.  CppIma library provides an interface
  767.                                | to common operations on images for C++
  768.                                | applications. The operations include file I/O,
  769.                                | image creation, iterators for traversing
  770.                                | images, and histogram creation.  The library's
  771.                                | is enabling easy construction of image
  772.                                | processing programs.  Secondarily, Schutte
  773.                                | hopes to achieve reasonable performance and
  774.                                | create an image library independent API.
  775. 451_01/                       Schutte has also contributed ClipPoly, an
  776.                                | extended C++ polygon clipping library with set
  777.                                | operators.  Classical clipping algorithms will
  778.                                | tell you whether a point "x" is withing a
  779.                                | given polygon "A". ClipPoly handles the more
  780.                                | general case of two polygons "A" and "B" where
  781.                                | you want to know the areas of intersection of
  782.                                | "A" and "B", "A" minus B", and "B" minus "A".
  783.                                | Although the Weiler-Atherton algorithm already
  784.                                | solves this case, Schutte presents a simpler
  785.                                | but just as effective algorithm.  The ClipPoly
  786.                                | algorithm requires only that all polygons are
  787.                                | non-self-intersecting (i.e. there are no
  788.                                | "holes").
  789. 452_01/                       Sean Gordon (Fife, Scotland) submits Freedock, a
  790.                                | Windows "dock" program that includes the full
  791.                                | source code in C. A dock is kind of a
  792.                                | miniature version of Program Manager that
  793.                                | holds icons for the small number of
  794.                                | applications that you use most often. Freedock
  795.                                | also remembers your preferred window geometry
  796.                                | for each application that you register with
  797.                                | it.  This saves you from the burden of
  798.                                | re-arranging your windows each time you
  799.                                | startup an application.  A "previewer" allows
  800.                                | you to check or change the window geometry
  801.                                | without actually launching the applications.
  802.                                | The entire dock can be scaled in a way similar
  803.                                | to the MS Office Manager dock.
  804. 453_01/                       Jean-Claude Wippler (Houten, Netherlands)
  805.                                | contributes his MetaKit, a compact class
  806.                                | library for data storage and easy manipulation
  807.                                | of structured objects and collections in C++.
  808.                                | MetaKit works with any C++ compiler that
  809.                                | supports Microsoft Foundation Classes
  810.                                | including VC++, Borland C++, and Symantec C++.
  811.                                | MetaKit allows your data to be loaded on
  812.                                | demand, which allows you access to any size
  813.                                | files.  It uses traditional database metaphors
  814.                                | of begin work/commit work/ rollback work with
  815.                                | automatic file storage allocation and
  816.                                | reclamation.  MetaKit allows data to be
  817.                                | "flattened" for efficient streaming over
  818.                                | sockets and pipes.  It encapsulates data in
  819.                                | terms of view, row, and property classes. Data
  820.                                | can be conveniently accessed via "[]" and "()"
  821.                                | by operator overloading.  Applications can
  822.                                | statically link MetaKit or load it as a DLL.
  823. 454_01/                       Beat Rigazzi (Oberonz, Switzerland) submits the
  824.                                | Sound Wizards Module Player (SWMP), a driver
  825.                                | for playing .MOD sound files through any
  826.                                | digital audio card (SoundBlaster compatible).
  827.                                | The .MOD audio file format The .MOD file is a
  828.                                | multichannel sampled audio file which supports
  829.                                | 4, 6, or 8 simultaneous channels.  The .MOD
  830.                                | file has fewer limitations than the .WAV file
  831.                                | and for that reason has become widely used by
  832.                                | electronic music and game producers.  SWMP
  833.                                | includes several example .MOD tracks for you
  834.                                | to experiment with and a standalone MS-DOS
  835.                                | player program (SWMP.EXE).  SWMP provides an
  836.                                | API and calling interfaces for Borland C/C++,
  837.                                | Assembler, and Pascal.  You can integrate the
  838.                                | library simply by including the header file
  839.                                | and linking in MOD_DRV.OBJ (source not
  840.                                | provided).
  841. 455_01/                       Oleg Kiselyov (Denton, TX) offers his Advanced
  842.                                | I/O C++ Class Library which enhances the
  843.                                | capabilities of stream I/O with encoding and
  844.                                | compression.  Some of these features include:
  845.                                | * Filenames with pipes embedded * Explicit
  846.                                | Endian I/O of short/long integers (guarantees
  847.                                | portability) * Stream sharing of different I/O
  848.                                | types * Simple variable-length coding of short
  849.                                | integers * Arithmetic compression of a stream
  850.                                | of integers
  851. 456_01/                       Kerwin F. Medina (New Westminster, BC)
  852.                                | contributes LZHLIB, a small C library with the
  853.                                | minimum code neccessary to compress and
  854.                                | uncompress using the LZH algorithm.  This
  855.                                | library is a direct derivative of the source
  856.                                | cod of Haruhiko Okumura's popular "ar"
  857.                                | archiver.  Medina has created the library so
  858.                                | an application can make use of compression
  859.                                | with a function call and without having to
  860.                                | spawn an external compression program.  The
  861.                                | library has only two API functions:
  862.                                | "lzh_freeze" (to compress) and "lzh_melt" (to
  863.                                | decompress).  In both cases, the caller only
  864.                                | has to provide the I/O functions and memory
  865.                                | allocation functions. The interface is simple
  866.                                | enough that you can integrate it with fewer
  867.                                | than 20 additional lines of code in your
  868.                                | program.   LZHLIB can be built on MS-DOS,
  869.                                | Unix, and other platforms.  LZHLIB as released
  870.                                | on 04/18/96 is now available on the CUG
  871.                                | CD-ROM.
  872. 457_01/                       Gray Watson (Pittsburgh, PA) submits dmalloc, the
  873.                                | debug memory allocation library.  The dmalloc
  874.                                | library has been designed as a drop-in
  875.                                | replacement for C runtime malloc(), realloc(),
  876.                                | calloc(), free() and other memory management
  877.                                | routines.  It provides many debugging
  878.                                | facilities that you can configure at runtime,
  879.                                | including:  memory-leak tracking, fence-post
  880.                                | write detection, file/line number reporting,
  881.                                | and general logging of statistics.
  882. 458_01/                       Kiselyov Oleg (Denton, TX) contributes Grayimage,
  883.                                | a C++ class library for dealing with
  884.                                | full-depth grayscale images.  Grayimage
  885.                                | upports all standard image algebra/arithmetics
  886.                                | including dealing with image slices, histogram
  887.                                | equalization, and computing various norms and
  888.                                | scalar products.  The package reads and writes
  889.                                | PGM, XWD and Group G (grayscale) TIFF file
  890.                                | formats with automatic recognition of the
  891.                                | input image file format.  It's possible to
  892.                                | assign one image to another to fit, no matter
  893.                                | what their dimensions are.
  894. 459_01/                       Alex Hunger (Adlington, Lancashire UK) submits
  895.                                | MMND, a game that puts the computer in the
  896.                                | role of "codebreaker" in the classic
  897.                                | MasterMind (TM) boardgame.  The interesting
  898.                                | aspect of Hunger's implementation is that the
  899.                                | computer can guess a pattern that you choose.
  900.                                | It uses an optimal information-theoretic
  901.                                | algorithm and so plays extraordinarily well --
  902.                                | better than any human being.  This takes a lot
  903.                                | of computation, so patterns chosen are stored
  904.                                | in a data file so a computation never needs to
  905.                                | be made twice.  The patterns chosen are put
  906.                                | through a randomizing algorithm that makes the
  907.                                | game more interesting to play, without losing
  908.                                | optimality.
  909. 460_01/                       M.A. Sridhar of faculty of the University of
  910.                                | South Carolina (Columbia, SC) contributes "Yet
  911.                                | Another Class Library (YACL), an innovative
  912.                                | cross-platform application framework.  YACL is
  913.                                | a C++ class library that offers high-level
  914.                                | abstractions for common programming problems.
  915.                                | Its design goal is to be both
  916.                                | application-centric and take advantage of C++
  917.                                | facilities (e.g. operator overloading and
  918.                                | templates) wherever possible. YACL implements
  919.                                | both scalar (String, Integer, Date, etc.) and
  920.                                | container (sequence, set, tree, etc.) core
  921.                                | classes.  The GUI classes are based on a
  922.                                | variation of the model view controller (MVC)
  923.                                | paradigm.  YACL supports all expected GUI
  924.                                | objects (menus, dialogs, buttons, listboxes,
  925.                                | button groups, etc) and resources (cursors,
  926.                                | fonts, pens, colors and brushes).
  927. 461_01/                       Dean Lance Smith and Mohammad Musa present their
  928.                                | paper "Two Software Data Organizations that
  929.                                | Support Railroad Signalling" and accompanying
  930.                                | C source.  This program models a control
  931.                                | system capable of understanding an entire
  932.                                | railroad line composed of any combination of
  933.                                | Automatic Blocking System (ABS) and
  934.                                | Centralized Traffic Control (CTC) blocks.  In
  935.                                | railroad parlance, a "signal block" or
  936.                                | "block", is a length of rail track that is
  937.                                | controlled by a block signal.  A block may
  938.                                | contain two or more tracks in various track
  939.                                | configurations.  Most blocks have at least one
  940.                                | main track.  Two or more main tracks may also
  941.                                | be in parallel in a block.  A block may also
  942.                                | contain lines that cross the main track(s),
  943.                                | turnouts, branch lines, or sidings.  Two or
  944.                                | more blocks constitute a rail line.
  945. 462_01/                       Ed Ream (Madison, WI) submits the Sherlock 2.0
  946.                                | set of debugging tools for Macintosh as CUG
  947.                                | volume 462.  Longtime CUJ readers may recall
  948.                                | earlier incarnations as Sherlock 1.7 for
  949.                                | MS-DOS (CUG 355) and Macintosh (CUG 356).
  950.                                | Sherlock is a debugging tool different from
  951.                                | currently popular interactive debugging tools
  952.                                | such as CodeView.  Sherlock uses C macro
  953.                                | expansion capabilities to implant debugging
  954.                                | calls and functions without manual coding.
  955.                                | Those calls are enabled/disabled from the
  956.                                | command line and removing those calls from the
  957.                                | source is also done automatically.  Sherlock
  958.                                | uses far less memory than a full-size
  959.                                | debugger. In addition, Sherlock provides
  960.                                | detailed statistics about your program.
  961. 463_01/                       Leonard Janke (University of British Columbia,
  962.                                | Vancouver) contributes LInteger, a C++ library
  963.                                | that empowers you to create and perform
  964.                                | arithmetic on objects representing nearly
  965.                                | arbitrary precision integers. Thanks to C++
  966.                                | support for operator overloading, the use of
  967.                                | the large integers in this library should be
  968.                                | nearly as easy as the use of regular int
  969.                                | types.  In many cases, converting your
  970.                                | application to use LInteger can be as simple
  971.                                | as substituting "LInteger" for "int" in your
  972.                                | editor.
  973. 464_01/                       B.T.  Szocik (Ottawa, Ontario) submits the
  974.                                | Miracle C compiler, a complete language and
  975.                                | runtime implementation for MS-DOS.  Szocik
  976.                                | intends Miracle C to be used primarily as a
  977.                                | teaching support tool.  Miracle C supports
  978.                                | only the Small memory model (code < 64K, data
  979.                                | < 64K).  Pointers are always 16-bit; no "far"
  980.                                | extensions are allowed.  All K&R C syntax and
  981.                                | data types are fully supported (plus some ANSI
  982.                                | extensions), there's nothing small about the
  983.                                | language implementation.
  984. 465_01/                       Victor R. Volkman (Ann Arbor, MI) contributes his
  985.                                | "Fader" custom control for Windows, a slider
  986.                                | control for use with Windows 3.1 and
  987.                                | compatible environments.  The Fader is a
  988.                                | custom control designed to return a continuous
  989.                                | range of values based on the position of a
  990.                                | thumb that slides along a rail.  This idea is
  991.                                | similar to the Windows scrollbar in many
  992.                                | respects.  Since the scrollbar is almost
  993.                                | inseparably associated with scrolling the
  994.                                | client area, it quickly becomes unfamiliar in
  995.                                | other contexts.  The fader provides an analog
  996.                                | range in the same way the potentiometers are
  997.                                | used in a stereo equalizer or mixer.  For
  998.                                | example, a fader could be used to apply
  999.                                | equalization to a waveform or to regulate the
  1000.                                | hue of a color.
  1001. 466_01/                       Eric Artzt of Microsoft Corporation (Bellevue,
  1002.                                | WA) releases Autoduck, a Windows 95/Windows NT
  1003.                                | console utility that extracts specially tagged
  1004.                                | comment blocks from C/C++, Visual Basic, and
  1005.                                | Assembly source files. Autoduck formats the
  1006.                                | information in the comment blocks and produces
  1007.                                | documentation files in Rich Text Format (RTF)
  1008.                                | for use with Microsoft Word or the Windows
  1009.                                | Help Compiler.  Autoduck can also produce HTML
  1010.                                | files for Internet or intranet use.
  1011.